package com.woniuxy.pxxt.service;

import com.woniuxy.pxxt.common.result.Result;
import com.woniuxy.pxxt.entity.Menu;
import com.woniuxy.pxxt.entity.User;

import java.util.List;

/**
 * <P> @Author: ideaAdmin
 * <P> TODO: Interface
 * <P> TODO: 权限表接口
 * <P> Date: 2022/3/14:13:29
 * <P> Description:
 */

public interface MenuService {


    /**
     * <P>Author ideaAdmin
     * <P>TODO:根据用户id查询权限
     * <P>Date 22:02 2022/3/14
     * <P> *
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     *
     * @param user*/
    Result findMenu(User user);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:通过角色权限 返回对应的所有权限 可以对其增加或者删除
     * <P>Date 13:43 2022/3/16
     * <P>* @param roleId
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     **/
    Result findMenuByRoleId(Integer roleId);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:通过角色权限 更改用户权限
     * <P>Date 14:26 2022/3/16
     * <P>* @param roleId
    * @param menuIds
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     **/
    Result setMenu(Integer roleId, List<Integer> menuIds);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:返回所有父级菜单
     * <P>Date 16:44 2022/3/16
     * <P> *
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     **/
    Result findAllFidMenu();

    /**
     * <P>Author ideaAdmin
     * <P>TODO: 增加子集菜单
     * <P>Date 17:03 2 022/3/16
     * <P>* @param menu
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     **/
    Result addSonMenu(Menu menu);

    /**
     * <P>Author ideaAdmin
     * <P>TODO:增加一个父级菜单
     * <P>Date 19:27 2022/3/16
     * <P>* @param menu
     * <P>* @return com.woniuxy.pxxt.common.result.Result
     **/
    Result addFatherMenu(Menu menu);
}
